/**
 * 路由管理工具
 */

// 页面路径
const Pages = {
  // tabBar页面
  TAB: {
    INDEX: '/pages/index/index', // 首页
    MINE: '/pages/gvr-my/gvr-my', // 我的
  },
  
  // 选择
  CHOOSE: {
    CHOOSE_ORG: '/pages/choose/choose-organization', // 选择组织
    CHOOSE_ROLE: '/pages/choose/choose-role', // 选择角色
  },
  
  // 用户信息相关
  USER: {
    GAS_INFO: '/pages/userInformation/gasStation-userInformation', // 加油站用户信息
    REPAIRER_INFO: '/pages/userInformation/repairer-userInformation', // 维修商用户信息
  },
  
  // 组织相关
  ORG: {
	INPUT_ID: '/pages/organization/organizational-inputID',//根据ID查找组织
    
	REPAIRER_CREATE_ORG: '/pages/organization/organizational-repairerCreate', // 创建维修商
	REPAIRER_CREATE_SHARE: '/pages/organization/organizational-repairerCreateShare', // 创建维修商分享
    REPAIRER_DETAIL: '/pages/organization/organizational-repairerDetail', // 维修商组织详情
	
	GAS_CREATE_ORG: '/pages/organization/organizational-gasStationCreate', // 创建加油站
	GAS_CREATE_SHARE: '/pages/organization/organizational-gasStationCreateShare', // 创建加油站分享
	GAS_DETAIL: '/pages/organization/organizational-gasStationDetail', // 加油站组织详情
	
	
	
    // JOIN_ORG: '/pages/organization/organizational-repairerJoin', // 加入维修商
    // AUDIT_LIST: '/pages/organization/organizational-repairerAuditList', // 审核列表
    // AUDIT_DETAIL: '/pages/organization/organizational-repairerAuditDetail', // 审核详情
    // MEMBER_LIST: '/pages/organization/organizational-repairerMemberList', // 成员列表
    // MEMBER_DETAIL: '/pages/organization/organizational-repairerMemberDetail', // 成员详情
    // ORG_EDIT: '/pages/organization/organizational-repairerEdit', // 编辑组织
  },
  
  COMPANY: {
	  GASSTATION:'/pages/gvr-my-company/my-company-gasStation',
	  REPAIRER:'/pages/gvr-my-company/my-company-repairer',
  },
  MEMBER: {
  	  CHANGE:'/pages/gvr-my-member/my-member-change',
  	  DETAIL:'/pages/gvr-my-member/my-member-detail',
	  HANDLE:'/pages/gvr-my-member/my-member-handle',
	  LIST:'/pages/gvr-my-member/my-member-list',
  },
  AGREEMENT: {
	  AGREEMENT:'/pages/gvr-my-agreement/my-agreement',
  }
}

/**
 * 路由跳转方法
 */
class Router {
  // 普通页面跳转
  static push(url) {
    uni.navigateTo({
      url
    })
  }
  
  // 替换当前页面
  static replace(url) {
    uni.redirectTo({
      url
    })
  }
  
  // 切换 tabBar
  static switchTab(url) {
    uni.switchTab({
      url
    })
  }
  
  // 返回上一页
  static back(delta = 1) {
    uni.navigateBack({
      delta
    })
  }
  
  // 关闭所有页面，打开到应用内的某个页面
  static reLaunch(url) {
    uni.reLaunch({
      url
    })
  }
  
  // 预加载页面
  static preload(url) {
    uni.preloadPage({
      url
    })
  }
}

// 常用跳转方法
const RouterMethods = {
  // 去首页
  toHome() {
    Router.switchTab(Pages.TAB.INDEX)
  },

  // 去选择角色
  toChooseRole() {
    Router.push(Pages.CHOOSE.CHOOSE_ROLE)
  },
  // 去选择组织
  toChooseOrg() {
    Router.push(Pages.CHOOSE.CHOOSE_ORG)
  },
  
  // 去加油站信息填写
  toGasInfo() {
    Router.push(Pages.USER.GAS_INFO)
  },
  
  // 去维修商信息填写
  toRepairerInfo() {
    Router.push(Pages.USER.REPAIRER_INFO)
  },
  

 // 去查询组织
  toInputID() {
    Router.push(Pages.ORG.INPUT_ID)
  },
  
  // 去维修商创建组织
  toRepairerCreateOrg(type,encodedData) {
    Router.push(`${Pages.ORG.REPAIRER_CREATE_ORG}?type=${type}&&data=${encodedData}`)
  },
  // 去维修商创建分享组织
  toRepairerCreateShare(id,iscreate) {
    Router.push(`${Pages.ORG.REPAIRER_CREATE_SHARE}?id=${id}&&iscreate=${iscreate}`)
  },
  // 去维修商组织详情
  toRepairerDetail(codeNoId) {
    Router.push(`${Pages.ORG.REPAIRER_DETAIL}?codeNoId=${codeNoId}`)
  },
  
  // 去加油站创建组织
  toGasCreateOrg(type,encodedData) {
    Router.push(`${Pages.ORG.GAS_CREATE_ORG}?type=${type}&&data=${encodedData}`)
  },
  // 去加油站创建分享组织
  toGasCreateShare(id,iscreate) {
    Router.push(`${Pages.ORG.GAS_CREATE_SHARE}?id=${id}&&iscreate=${iscreate}`)
  },
  // 去加油站组织详情
  toGasDetail(codeNoId) {
    Router.push(`${Pages.ORG.GAS_DETAIL}?codeNoId=${codeNoId}`)
  },
  
  
  // 去所属加油站信息
  toMyCompanyGasStation() {
    Router.push(Pages.COMPANY.GASSTATION)
  },
  // 去所属公司信息信息
  toMyCompanyRepairer() {
    Router.push(Pages.COMPANY.REPAIRER)
  },
  
  // 成员改变
  toMyMemberChange(encodedData) {
    Router.push(`${Pages.MEMBER.CHANGE}?data=${encodedData}`)
  },
  // 成员详情
  toMyMemberDetail(id) {
    Router.push(`${Pages.MEMBER.DETAIL}?id=${id}`)
  },
  // 成员处理
  toMyMemberHandle(id) {
    Router.push(`${Pages.MEMBER.HANDLE}?id=${id}`)
  },
  // 成员列表
  toMyMemberList() {
    Router.push(Pages.MEMBER.LIST)
  },
  
  // 去协议
  toAgreement() {
    Router.push(Pages.AGREEMENT.AGREEMENT)
  }

  
  // // 组织相关方法
  // toCreateOrg() {
  //   Router.push(Pages.ORG.CREATE_ORG)
  // },
  
  // toJoinOrg() {
  //   Router.push(Pages.ORG.JOIN_ORG)
  // },
  
  // toAuditList() {
  //   Router.push(Pages.ORG.AUDIT_LIST)
  // },
  
  // toAuditDetail(id) {
  //   Router.push(`${Pages.ORG.AUDIT_DETAIL}?id=${id}`)
  // },
  
  // toMemberList() {
  //   Router.push(Pages.ORG.MEMBER_LIST)
  // },
  
  // toMemberDetail(id) {
  //   Router.push(`${Pages.ORG.MEMBER_DETAIL}?id=${id}`)
  // },
  
  // toOrgDetail(id) {
  //   Router.push(`${Pages.ORG.ORG_DETAIL}?id=${id}`)
  // },
  
  // toOrgEdit(id) {
  //   Router.push(`${Pages.ORG.ORG_EDIT}?id=${id}`)
  // },
  
  // toCreateShare(params = {}) {
  //   const query = Object.entries(params)
  //     .map(([key, value]) => `${key}=${value}`)
  //     .join('&')
  //   Router.push(`${Pages.ORG.CREATE_SHARE}${query ? '?' + query : ''}`)
  // }
}

export {
  Pages,
  Router,
  RouterMethods
} 